competitive programming c language